package upload

import (
	"gorm.io/gorm"
)

// UploadMigrator 文件上传模块迁移器
type UploadMigrator struct{}

// NewUploadMigrator 创建文件上传模块迁移器
func NewUploadMigrator() *UploadMigrator {
	return &UploadMigrator{}
}

// GetName 返回模块名称
func (m *UploadMigrator) GetName() string {
	return "upload"
}

// GetModels 返回需要迁移的模型
func (m *UploadMigrator) GetModels() []interface{} {
	return []interface{}{&File{}}
}

// GetDependencies 返回依赖的模块名称
func (m *UploadMigrator) GetDependencies() []string {
	return []string{"user"} // 文件上传模块依赖用户模块
}

// Migrate 执行模块特定的迁移逻辑
func (m *UploadMigrator) Migrate(db *gorm.DB) error {
	// 文件上传模块不需要额外的迁移逻辑
	return nil
}

// Seed 执行模块数据初始化
func (m *UploadMigrator) Seed(db *gorm.DB) error {
	// 文件上传模块不需要初始化数据
	return nil
}
